//#define  _CRT_SECURE_NO_WARNINGS
//#include<iostream>
//using namespace std;
//
//namespace bit
//{
//	template<class T>
//	class stack
//	{
//	public:
//		stack(int n = 4) :
//			_arr(new T[n]),
//			_top(0),
//			_capacity(n)
//		{
//			;
//		}
//
//		void push(const T& x)
//		{
//			_arr[_top] = x;
//			++_top;
//		}
//
//		~stack()
//		{
//			delete[] _arr;
//			_arr = nullptr;
//			_top = 0;
//			_capacity = 0;
//		}
//	private:
//		T* _arr;
//		int _top;
//		int _capacity;
//	};
//}
//int main()
//{
//	bit::stack<int>st1;
//	bit::stack<double>st2;
//
//	st1.push(1);
//	st1.push(2);
//	st1.push(3);
//	st1.push(4);
//
//	st2.push(1.1);
//	st2.push(2.2);
//	st2.push(3.3);
//
//	return 0;
//}